package org.example.constant;

/**
 * redis常量类
 */
public class RedisConstant {

    /**
     * 生成token携带的用户账号
     */
    public static final String TOKEN_USER_INFO = "tokenUserInfo";

    /**
     * 存储token的UUID
     */
    public static final String TOKEN_UUID = "tokenUUID";

    /**
     * 用户登录存储的主键
     */
    public static final String USER_LOGIN = "user:login:";

    /**
     * 用户登录生成的token主键
     */
    public static final String LOGIN_TOKEN = "login:token:";

    /**
     * redis存储用户信息逻辑过期时间
     */
    public static final Long USER_EXPIRE_TIME = 30L;

    /**
     * token过期时间默认30分钟
     */
    public static final Long TOKEN_EXPIRE_TIME = 30L;

    /**
     * 验证码主键
     */
    public static final String LOGIN_CODE = "login:code:";

    /**
     * 验证码有效期
     */
    public static final Long LOGIN_CODE_TIME = 5L;

    /**
     * 生成全局唯一id预生成的开始时间戳
     */
    public static final long BEGIN_TIMESTAMP = 1699101298L;

    /**
     * 全局唯一id键名
     */
    public static final String ONLY_ID = "onlyId:";

    /**
     * 生成全局唯一id序列号的位数
     */
    public static final int COUNT_BITS = 32;
}
